import request from '@/config/axios'

// 黑名单记录 VO
export interface BlacklistVO {
  id: number // 记录ID
  userType: number // 用户类型
  userId: number // 用户ID
  violationReasonId: number // 违规原因ID
  violationDesc: string // 违规详细描述
  addTime: Date // 加入时间
  expireTime: Date // 过期时间(NULL表示永久)
  operatorId: number // 操作人ID
}

// 黑名单记录 API
export const BlacklistApi = {
  // 查询黑名单记录分页
  getBlacklistPage: async (params: any) => {
    return await request.get({ url: `/ride/blacklist/page`, params })
  },

  // 查询黑名单记录详情
  getBlacklist: async (id: number) => {
    return await request.get({ url: `/ride/blacklist/get?id=` + id })
  },

  // 新增黑名单记录
  createBlacklist: async (data: BlacklistVO) => {
    return await request.post({ url: `/ride/blacklist/create`, data })
  },

  // 修改黑名单记录
  updateBlacklist: async (data: BlacklistVO) => {
    return await request.put({ url: `/ride/blacklist/update`, data })
  },

  // 删除黑名单记录
  deleteBlacklist: async (id: number) => {
    return await request.delete({ url: `/ride/blacklist/delete?id=` + id })
  },

  // 导出黑名单记录 Excel
  exportBlacklist: async (params) => {
    return await request.download({ url: `/ride/blacklist/export-excel`, params })
  },
}